const Joi = require('@hapi/joi')

module.exports = {

  /** 
   * @description: 获取文章列表
   */
  find: {
    schema: Joi.object({
      title: Joi.string(),
      create_titme: Joi.number(),
      per_page: Joi.number(),
      page: Joi.number()
    }),
    options: {
      // 允许存在不在 schema 中的字段
      allowUnknown: true,
      // 过滤不存在 schema 中的字段
      stripUnknown: true,
      // 替换提示文本
      language: {
        any: {
          required: '是必填项'
        },
        number: {
          min: '需大于或等于 {{limit}}',
          max: '需小于或等于 {{limit}}',
          positive: '必须是一个正数',
          less: '必须小于 {{limit}}',
          greater: '必须大于 {{limit}}'
        }
      }
    }
  },

  /**
   * @description: 创建列表
   */
  add: {
    schema: Joi.object({
      title: Joi.string().min(1).max(1000).required(),
      create_titme: Joi.number(),
      author: Joi.string().required(),
      content: Joi.string()
    }),
    options: {
      // 允许存在不在 schema 中的字段
      allowUnknown: true,
      // 过滤不存在 schema 中的字段
      stripUnknown: true,
      // 替换提示文本
      language: {
        any: {
          required: '是必填项'
        },
        number: {
          min: '需大于或等于 {{limit}}',
          max: '需小于或等于 {{limit}}',
          positive: '必须是一个正数',
          less: '必须小于 {{limit}}',
          greater: '必须大于 {{limit}}'
        }
      }
    }
  },

  /** 
   * @description: 修改内容
   */
  update: {
    schema: Joi.object({
      id: Joi.string().required(),
      title: Joi.string().min(1).max(1000),
      create_titme: Joi.number(),
      content: Joi.string()
    }),
    options: {
      // 允许存在不在 schema 中的字段
      allowUnknown: true,
      // 过滤不存在 schema 中的字段
      stripUnknown: true,
      // 替换提示文本
      language: {
        any: {
          required: '是必填项'
        },
        number: {
          min: '需大于或等于 {{limit}}',
          max: '需小于或等于 {{limit}}',
          positive: '必须是一个正数',
          less: '必须小于 {{limit}}',
          greater: '必须大于 {{limit}}'
        }
      }
    }
  },
   /**
   * @description: 用户登录
   */
  delete: {
    schema: Joi.object({
      id: Joi.string().required()
    }),
    options: {
      // 允许存在不在 schema 中的字段
      allowUnknown: true,
      // 过滤不存在 schema 中的字段
      stripUnknown: true,
      // 替换提示文本
      language: {
        any: {
          required: '是必填项'
        },
        number: {
          min: '需大于或等于 {{limit}}',
          max: '需小于或等于 {{limit}}',
          positive: '必须是一个正数',
          less: '必须小于 {{limit}}',
          greater: '必须大于 {{limit}}'
        }
      }
    }
  },
}
